using System;
using System.Data;
using System.Xml;

namespace FormsGenerator.DataAccess
{
	/// <summary>
	/// IDBHandler is the interface for supporting updates to a database-layer
	/// </summary>
	public interface IDBHandler
	{
	    void SaveForm(string strGUID, string formName, XmlDocument formXmlDoc, string strUserId);
	    DataTable CreateForm(string formName, XmlDocument formXmlDoc, string owner);
	    DataTable GetForm(string strGUID);
	    DataTable GetForms(string strUserId);
	    void LockForm(string strGUID, string strUserId);
	    void UnLockForm(string strGUID, string strUserId);
	    void DeleteForm(string strGUID, string strUserId);
	    DataTable GetFormStatus(Guid guid, string strUserId);
	    DataTable GetFormAccess(string strGUID, string strUserId);
	    void RemoveFormAccess(string strGUID, string strUserId, string strUserToBeRemovedId);
	    void UpdateFormAccess(string strGUID, string strUserId, string strUserToUpdateId, string strFormsAccessId);
	    void InsertFormAccess(string strGUID, string strUserId, string strUserToAddId);
	}
}
